/*
 * Powered By XY
 * Since 2020
 */

package com.xy.biz.base.client;

import com.xy.biz.base.domain.req.ListExpressRequest;
import com.xy.biz.base.domain.resp.GetExpressResponse;
import com.xy.lang.domain.Page;
import com.xy.lang.domain.Result;

import java.util.Collection;
import java.util.List;

/**
 *
 *
 * @author zgy
 * @date 2021-9-17
 */
public interface ExpressClient {

    /**
     * 查找多个
     *
     * @param collection 标识集合
     * @return
     */
    Result<List<GetExpressResponse>> listExpressById(Collection<Long> collection);

    /**
     * 查找多个
     *
     * @param request 查找条件
     * @return
     */
    Result<List<GetExpressResponse>> listExpress(ListExpressRequest request);

    /**
     * 统计个数
     *
     * @param request 查找条件
     * @return
     */
    Result<Integer> countExpress(ListExpressRequest request);

    /**
     * 分页查找
     *
     * @param request 查找条件
     * @return
     */
    Result<Page<GetExpressResponse>> pageExpress(ListExpressRequest request);

}
